Java I/O Libraries ব্যবহার করে I/O Handling

Computer Programming - ক্লোজার (Clojure) Input/Output (I/O in Clojure) |
297
297

Java I/O Libraries ব্যবহার করে I/O Handling

Java I/O (Input/Output) লাইব্রেরি এমন একটি গুরুত্বপূর্ণ অংশ, যা ডেটা পড়া এবং লেখা (file handling) সহজ করে তোলে। Java I/O লাইব্রেরি দুটি প্রধান প্যাকেজে ভাগ করা যায়: java.io এবং **java.nio**। এখানে java.io লাইব্রেরির বিভিন্ন ক্লাস ও পদ্ধতি ব্যবহার করে I/O হ্যান্ডলিং এর প্রাথমিক ধারণা এবং উদাহরণ দেয়া হয়েছে।


১. Java I/O লাইব্রেরির মৌলিক ধারণা

Java I/O লাইব্রেরি InputStream এবং OutputStream এর মাধ্যমে বাইনারি ডেটা এবং Reader এবং Writer এর মাধ্যমে টেক্সট ডেটা হ্যান্ডেল করে। এই ক্লাসগুলো java.io প্যাকেজের অধীনে আসে এবং ফাইল, কনসোল, বা নেটওয়ার্কের সাথে ডেটা আদান-প্রদান করতে সহায়ক।

১.১ InputStream এবং OutputStream

  • InputStream ক্লাস ব্যবহার করা হয় ডেটা পড়ার জন্য।
  • OutputStream ক্লাস ব্যবহার করা হয় ডেটা লেখার জন্য।

১.২ Reader এবং Writer

  • Reader ক্লাসটি চরিত্র (character) ভিত্তিক ডেটা পড়ার জন্য ব্যবহৃত হয়।
  • Writer ক্লাসটি চরিত্র ভিত্তিক ডেটা লেখার জন্য ব্যবহৃত হয়।

২. ফাইল থেকে ডেটা পড়া (Reading from a File)

ফাইল থেকে ডেটা পড়তে, Java I/O লাইব্রেরির FileInputStream বা FileReader ক্লাস ব্যবহার করা যায়। নিচে FileInputStream এবং BufferedReader ব্যবহার করে একটি ফাইল থেকে ডেটা পড়ার উদাহরণ দেওয়া হয়েছে।

উদাহরণ: FileInputStream ব্যবহার করে ফাইল থেকে ডেটা পড়া

import java.io.FileInputStream;
import java.io.IOException;

public class FileReadingExample {
    public static void main(String[] args) {
        try (FileInputStream fis = new FileInputStream("example.txt")) {
            int data;
            while ((data = fis.read()) != -1) {
                System.out.print((char) data);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

এখানে, FileInputStream ব্যবহার করে একটি ফাইল থেকে বাইনারি ডেটা পড়া হচ্ছে। fis.read() একে একে ফাইলের সমস্ত বাইট পড়ে এবং -1 আসা পর্যন্ত এটি চলতে থাকে।

উদাহরণ: BufferedReader ব্যবহার করে ফাইল থেকে টেক্সট পড়া

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

public class BufferedReaderExample {
    public static void main(String[] args) {
        try (BufferedReader reader = new BufferedReader(new FileReader("example.txt"))) {
            String line;
            while ((line = reader.readLine()) != null) {
                System.out.println(line);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

এখানে, BufferedReader ব্যবহার করা হয়েছে, যা একে একে ফাইলের সমস্ত লাইন পড়ে এবং readLine() ফাংশনটি প্রতিটি লাইন রিটার্ন করে।


৩. ফাইলে ডেটা লেখা (Writing to a File)

Java I/O লাইব্রেরির FileOutputStream বা FileWriter ক্লাস ব্যবহার করে ফাইলে ডেটা লেখা যায়। নিচে FileOutputStream এবং BufferedWriter ব্যবহার করে একটি ফাইলে ডেটা লেখার উদাহরণ দেওয়া হয়েছে।

উদাহরণ: FileOutputStream ব্যবহার করে ফাইলে ডেটা লেখা

import java.io.FileOutputStream;
import java.io.IOException;

public class FileWritingExample {
    public static void main(String[] args) {
        try (FileOutputStream fos = new FileOutputStream("output.txt")) {
            String data = "Hello, this is a test.";
            fos.write(data.getBytes());
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

এখানে, FileOutputStream ব্যবহার করে একটি ফাইলে বাইনারি ডেটা লেখা হয়েছে। getBytes() মেথডটি স্ট্রিংটি বাইট অ্যারেতে রূপান্তরিত করে।

উদাহরণ: BufferedWriter ব্যবহার করে ফাইলে টেক্সট লেখা

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;

public class BufferedWriterExample {
    public static void main(String[] args) {
        try (BufferedWriter writer = new BufferedWriter(new FileWriter("output.txt"))) {
            writer.write("Hello, this is a test.");
            writer.newLine();
            writer.write("Second line of text.");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

এখানে, BufferedWriter ব্যবহার করে একটি ফাইলে টেক্সট লেখা হয়েছে। newLine() ফাংশনটি একটি নতুন লাইন যোগ করতে ব্যবহৃত হয়।


৪. File Handling with java.nio (NIO)

Java NIO (New I/O) একটি উন্নত API যা বড় পরিমাণের ডেটা দ্রুত প্রক্রিয়া করতে সহায়ক। java.nio এর ক্লাসগুলি যেমন Path, Files, এবং ByteBuffer ব্যবহার করে ফাইল I/O সহজতর হয়।

উদাহরণ: Files ব্যবহার করে ফাইল থেকে ডেটা পড়া (Java NIO)

import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.io.IOException;

public class NIOFileReadExample {
    public static void main(String[] args) {
        Path path = Paths.get("example.txt");
        try {
            Files.lines(path).forEach(System.out::println);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

এখানে Files.lines() ব্যবহার করে একটি ফাইল থেকে লাইন বাই লাইন ডেটা পড়া হয়েছে। এটি Stream API ব্যবহার করে ডেটাকে প্রক্রিয়া করে।


৫. File Copying using NIO

Java NIO লাইব্রেরির সাহায্যে ফাইল কপি করা আরও দ্রুত এবং কার্যকরী।

import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.io.IOException;

public class NIOFileCopyExample {
    public static void main(String[] args) {
        Path sourcePath = Paths.get("source.txt");
        Path destinationPath = Paths.get("destination.txt");
        try {
            Files.copy(sourcePath, destinationPath);
            System.out.println("File copied successfully.");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

এখানে, Files.copy() ব্যবহার করে একটি ফাইল থেকে অন্য ফাইলে ডেটা কপি করা হয়েছে।


সারসংক্ষেপ

Java I/O লাইব্রেরি ব্যবহারের মাধ্যমে ফাইল থেকে ডেটা পড়া এবং ফাইলে ডেটা লেখা সহজ হয়। কিছু সাধারণ I/O অপারেশন যেমন ফাইল রিডিং, রাইটিং, এবং কপি করা Java I/O এবং NIO লাইব্রেরির মাধ্যমে করা যায়। নিচে প্রধান পয়েন্টগুলি:

I/O অপারেশনক্লাস/ফাংশন ব্যবহার করা হয়
ফাইল থেকে পড়াFileInputStream, BufferedReader, Files.lines()
ফাইলে লেখাFileOutputStream, BufferedWriter
ফাইল কপি করাFiles.copy()
NIO ব্যবহারPath, Files, ByteBuffer

Java I/O লাইব্রেরি ব্যবহার করে আপনি কার্যকরভাবে ফাইল সিস্টেমের সাথে যোগাযোগ করতে পারেন এবং ফাইল প্রক্রিয়াকরণ সহজভাবে পরিচালনা করতে পারেন।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion